******************************************************************
*** FUNINF.PRG .- Fichero que contiene las funciones de tratamiento
***               de los informes
***
*** Reservados todos los derechos sobre el presente programa
******************************************************************

#include "sixcdx.ch"

***********************  GrabaInforme  ***************************
***
*** He puesto las instrucciones dentro del bloqueo porque el
*** nombre del informe y el numero deben ser unicos.
******************************************************************

function GrabaInforme(mDESCRIP)
LOCAL mnuminf := 0
LOCAL mNOMBRE := SPACE(0)

abrefi ({"aINFORMES(1)"}, {"INFORMES"} )

sele INFORMES
go bottom

if !Sx_IsLocked()
   Sx_RLock()
endif

mnuminf := INFORMES->numinf+1
mNOMBRE := "INF"+PADL(ALLTRIM(str(mnuminf)),5,"0")+".TXT"

insertar()
replace informes->NUMINF with mNUMINF
replace informes->NOMBRE with mNOMBRE
replace informes->DESCRIP with mDESCRIP
replace informes->FECHA with DATE()

informes->(dbCOMMIT())

Sx_UnLock()

cierrafi ({"INFORMES"} )

return mNOMBRE



***********************  comandoPRINT  ***************************
*** Hace el comando run print con el nombre de fichero que se les
*** manda por parametro
******************************************************************

function comandoPRINT(mNOMBRE)
LOCAL impre := .t.
LOCAL impresora := "S"

if EMPTY(mNOMBRE)
   return .f.
endif

impre := isprinter()

do while !impre
   CUADROdialo(10,"ERROR. Impresora no esta en LINEA","Intentar otra vez (S/N) : ",;
	@impresora,"!",{| | .t.},{|impresora| CHECHA2(@impresora,"SN","S","N")})
	if LastKey() == 27
		impresora := "N"
	endif
	if impresora == "N"
      exit
   endif
   impre := isprinter()
enddo

if impresora == "S"
   run ("PRINT "+mNOMBRE+" /p")
endif

return .t.


/*

******************************************************************
***
******************************************************************

function NombreInforme()
LOCAL mNOMBRE := SPACE(0)

abrefi ({"aINFORMES()"}, {"INFORMES"} )

sele INFORMES
go bottom

mNOMBRE := "INF"+ALLTRIM(STR(INFORMES->numinf+1))+".txt"

cierrafi ({"INFORMES"} )

return mNOMBRE


******************************************************************
***
******************************************************************

function GrabaInforme(mNOMBRE,mDESCRIP)
LOCAL mnuminf := 0

abrefi ({"aINFORMES()"}, {"INFORMES"} )

sele INFORMES
go bottom
mnuminf := INFORMES->numinf+1

if !Sx_IsLocked()
   Sx_RLock()
endif

insertar()
replace informes->NUMINF with mNUMINF
replace informes->NOMBRE with mNOMBRE
replace informes->DESCRIP with mDESCRIP
replace informes->FECHA with DATE()

informes->(dbCOMMIT())

Sx_UnLock()

cierrafi ({"INFORMES"} )

return .t.

*/



/*

******************************************************************
***
******************************************************************

function NombreInforme()
LOCAL mNOMBRE := SPACE(0)

abrefi ({"aINFORMES()"}, {"INFORMES"} )

sele INFORMES
go bottom

mNOMBRE := "INF"+ALLTRIM(STR(INFORMES->numinf+1))+".txt"

cierrafi ({"INFORMES"} )

return mNOMBRE



*/
